22 research outputs found

    Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies

    Get PDF
    Mutation testing is an effective approach to evaluate and strengthen software test suites, but its adoption is currently limited by the mutants' execution computational cost. Several strategies have been proposed to reduce this cost (a.k.a. mutation cost reduction strategies), however none of them has proven to be effective for all scenarios since they often need an ad-hoc manual selection and configuration depending on the software under test (SUT). In this paper, we propose a novel multi-objective evolutionary hyper-heuristic approach, dubbed Sentinel, to automate the generation of optimal cost reduction strategies for every new SUT. We evaluate Sentinel by carrying out a thorough empirical study involving 40 releases of 10 open-source real-world software systems and both baseline and state-of-the-art strategies as a benchmark. We execute a total of 4,800 experiments, and evaluate their results with both quality indicators and statistical significance tests, following the most recent best practice in the literature. The results show that strategies generated by Sentinel outperform the baseline strategies in 95% of the cases always with large effect sizes. They also obtain statistically significantly better results than state-of-the-art strategies in 88% of the cases, with large effect sizes for 95% of them. Also, our study reveals that the mutation strategies generated by Sentinel for a given software version can be used without any loss in quality for subsequently developed versions in 95% of the cases. These results show that Sentinel is able to automatically generate mutation strategies that reduce mutation testing cost without affecting its testing effectiveness (i.e. mutation score), thus taking off from the tester's shoulders the burden of manually selecting and configuring strategies for each SUT.Comment: in IEEE Transactions on Software Engineerin

    Fault-Based Test of XML Schemas

    Get PDF
    XML is largely used by most applications to exchange data among different software components. XML documents, in most cases, follow a grammar or schema that describes which elements and data types are expected by the application. These schemas are translated from specifications written in natural language, and consequently, in this process some mistakes are usually made. Because of this, faults can be introduced in the schemas, and incorrect XML documents can be validated, causing a failure in the application. Hence, to test schemas is a fundamental activity to ensure the integrity of the XML data. With the growing number of Web applications and increased use of XML, there is a demand for specific testing approaches and tools to test schemas. To fulfill this demand, this work introduces a fault-based approach for testing XML schemas. This approach is based on a classification of common faults found in schemas. A supporting tool was implemented and used in evaluation studies. The obtained results show the applicability of the fault-based testing in this context and its efficacy in revealing faults

    Search-Based Evolution of XML Schemas

    Get PDF
    The use of schemas makes an XML-based application more reliable, since they contribute to avoid failures by defining the specific format for the data that the application manipulates. In practice, when an application evolves, new requirements for the data may be established, raising the need of schema evolution. In some cases the generation of a schema is necessary, if such schema does not exist. To reduce maintenance and reengineering costs, automatic evolution of schemas is very desirable. However, there are no algorithms to satisfactorily solve the problem. To help in this task, this paper introduces a search-based approach that explores the correspondence between schemas and context-free grammars. The approach is supported by a tool, named EXS. Our tool implements algorithms of grammatical inference based on LL(1) Parsing. If a grammar (that corresponds to a schema) is given and a new word (XML document) is provided, the EXS system infers the new grammar that: i) continues to generate the same words as before and ii) generates the new word, by modifying the original grammar. If no initial grammar is available, EXS is also capable of generating a grammar from scratch from a set of samples

    Controlled clinical trial addressing teeth whitening with hydrogen peroxide in adolescents: a 12-month follow-up

    Get PDF
    OBJECTIVES: To evaluate the colorimetric change in incisors and canines of adolescents aged 12 to 20 years submitted to at-home whitening and to evaluate satisfaction, sensitivity and discomfort during the procedures through a questionnaire. METHOD: Thirty adolescents were randomly assigned to the following groups: 1) 6.0% hydrogen peroxide (White Class with calcium - FGM); 2) 7.5% hydrogen peroxide (White Class with calcium - FGM); 3) 10% hydrogen peroxide (Oral B 3D White - Oral-B); 4) Control group - placebo. Assessments were performed prior to treatment as well as at 7, 30, 180 and 360 days after treatment. Friedman’s ANOVA was used to analyze color. The Kruskal-Wallis test followed by Dunn’s post hoc test was used to compare the groups at the different evaluation times. Answers on the questionnaires were ranked, and non-parametrical tests were employed. The groups were compared in each period using the Kruskal-Wallis test followed by the Student-Newman-Keuls test. Categorical data were analyzed using Fisher's exact test, and the Wilcoxon test was used for the analysis of different periods. P-values were corrected using the Hyan-Holm step-down Bonferroni procedure. Clinicaltrials.gov: NCT01998386. RESULTS: Similar results were obtained one month after treatment with both tooth whitening gels and whitening strips. Patients were partially satisfied with the treatment after the first and second weeks and would recommend it. All products demonstrated color stability after 12 months of follow-up. CONCLUSIONS: The bleaching procedure was efficient, and the patients could perceive its result. Further investigations are needed to determine the effects of bleaching on young teeth

    Applying design patterns in the search-based optimization of software product line architectures

    Get PDF
    The design of the product line architecture (PLA) is a difficult activity that can benefit from the application of design patterns and from the use of a search-based optimization approach, which is generally guided by different objectives related, for instance, to cohesion, coupling and PLA extensibility. The use of design patterns for PLAs is a recent research field, not completely explored yet. Some works apply the patterns manually and for a specific domain. Approaches to search-based PLA design do not consider the usage of these patterns. To allow such use, this paper introduces a mutation operator named “Pattern-Driven Mutation Operator” that includes methods to automatically identify suitable scopes and apply the patterns Strategy, Bridge and Mediator with the search-based approach multi-objective optimization approach for PLA. A metamodel is proposed to represent and identify suitable scopes to receive each one of the patterns, avoiding the introduction of architectural anomalies. Empirical results are also presented, showing evidences that the use of the proposed operator produces a greater diversity of solutions and improves the quality of the PLAs obtained in the search-based optimization process, regarding the values of software metrics

    Criterios restritos de teste de software : uma contribuição para gerar dados de teste mais eficazes

    No full text
    Orientadores: Jose Carlos Maldonado, Mario JinoTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de ComputaçãoResumo: Critérios de teste estrutural dividem o domínio de entrada de um programa em teste, em sub-domínios e requerem que pelo menos um ponto de cada sub-domínio seja executado, auxiliando na geração de dados de teste; permitem ainda, a avaliação da adequação de um dado conjunto de dados (casos) de teste. Uma vez particionado o domínio, é necessário responder à seguinte questão: "Que pontos de cada sub-domínio devem ser selecionados?". Isso diz respeito à tarefa de geração de dados de teste para satisfazer um critério. Essa é uma atividade bastante complexa de ser automatizada pois não existe um algoritmo de propósito geral para determinar um conjunto de casos de teste que satisfaça um dado critério para um particular programa. Não é possível nem mesmo determinar se esse conjunto existe. Na literatura são encontradas diferentes técnicas de geração de dados de teste que utilizam diferentes fundamentos para selecionar pontos do domínio que descrevem certos tipos de erros e, por isso, com alta probabilidade de revelar esses erros. No entanto, essas técnicas são apresentadas de forma dissociada dos critérios estruturais. Este trabalho introduz uma família de Critérios Baseados em Restrições, denominados Critérios Restritos, que têm o objetivo de aumentar a eficácia das atividades de teste e de oferecer medidas de cobertura. Os Critérios Restritos permitem a utilização de critérios estruturais juntamente com os princípios de técnicas de geração de dados de teste sensíveis a erros e foram motivados por resultados de estudos teóricos e empíricos conduzidos com essas técnicas. Nesse trabalho, esses resultados, que serviram como motivação para a introdução dos Critérios Restritos, são apresentados. São discutidos aspectos de complexidade e de relação de inclusão entre os Critérios Restritos e os demais critérios. Também é proposta uma extensão da ferramenta de testes POKE- TOOL para apoiar a utilização desses critérios e para facilitar a etapa de geração de dados de teste. Um experimento de avaliação dos Critérios Restritos é descrito. Os resultados desse experimento comprovam a aplicabilidade desses critérios e indicam um aumento no número de erros revelados. Ao final, são propostas duas estratégias de geração de dados de teste para satisfazer critérios de teste estrutural. Elas têm como objetivo reduzir os efeitos causados por caminhos não executáveis na atividade de teste e gerar dados com alta probabilidade de revelar erros. Entre essas estratégias propõe-se uma estratégia incremental, baseada na hierarquia entre os critérios, e que garante a preservação da relação de inclusão mesmo quando o fator eficácia é consideradoAbstract: Structural testing criteria divide the program input domain to sub-domains and require the execution of at least one point from each sub-domain. They support the test data generation phase and the adequacy analysis of a test set. Once the domain is divided, the question is posed: "What points in each sub-domain should be selected?" This question concerns to the task of generating test data to satisfy a criterion, which is very complex to be automated since there is no general algorithm to determine a set of test cases that satisfy a given criterion; it is not possible to determine even that such set exists. In the literature there are different test data generation techniques with different principIes for choosing points from the program domain associated to certain errors, with a high probability of revealing them. However these techniques are presented not associated to structural criteria. This work introduces a family of criteria, named Constraint Based Criteria. They have the goal of increasing the testing activity efficacy and make possible to obtain coverage measures. They permit the use of error-sensitive data generation techniques with structural criteria. The Constraint Based Criteria proposal was motivated by results obtained from empirical and theoretical studies with these techniques. These results are presented. Aspects of complexity and the inclusion relation among Constraint Based Criteria and othercriteria are discussed. An extension to POKE- TOOL is proposed with the goal of supporting Constraint Based Criteria and easing the data test generation phase. An experiment to evaluate the Constraint Based Criteria is described. The results from this experiment show their applicability and an increase in the number of revealed errors. And finally, two test data generation strategies to satisfy structural criteria are proposed. They have the goal of reducing the effects of infeasible paths in the testing activity and of generating test data with high probability of revealing errors. One of these strategies is incremental, based on the hierarchy of criteria and always preserve the inclusion relation among criteria even when the factor efficacy is considered.DoutoradoEngenharia de ComputaçãoDoutor em Engenharia Elétric

    Caminhos não executaveis : caracterização, previsão e determinação para suporte ao teste de programas

    No full text
    Orientadores : Mario Jino, Jose Carlos MaldonadoDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia EletricaResumo: Neste trabalho são discutidos os principais problemas introduzidos por caminhos não executávels nas atividades de teste de programas, já que é indecidível se um caminho é ou não executável. O trabalho enfoca tres aspectos principais: caracterização, previsão e determinação de caminhos não executávels. Os estudos foram realizados baseando-se em trabalhos existentes na literatura e em resultados obtidos durante a condução de um "benchmark". Para Isto, utilizou-se uma ferramenta de testes, denominada POKE-TOOL, que apoia a aplicação dos critérios Potenciais-Usos. São apresentados: as principais causas de não executabilidade encontradas nas rotinas do "benchmark"; modelos para avaliar a influência de várias características de programas, no número de caminhos não executávels e modelos para avaliar a relação entre o número de predicados do caminho e sua executabilidade. A condução do "benchmark" também ressaltou a importância da aplicação das heurístlcas propostas por Frankl [FRA87] para identificação de elementos não executávels; além disto, levou a proposição de extensôes para esta heuristica e viabilizou a identificação de facilidades que foram incorporadas na POKE-TOOL, para tratamento de tais elementos. Adicionalmente, são apresentados: os principais aspectos de implementação das heurísticas e facilidades propostas, um exemplo de utilização das rotinas implementadas e uma avaliação preliminar do desempenho das mesmasAbstract: This work discusses the main problems introduced by Infeasible paths in the activities of program testing, since it is undecidable whether a path is or is not feasible. The work focuses on three major aspects: cIassification, estimation and determination of infeasible paths. The studies were accomplished based on results reported in the literature and on results taken from the application of a benchmark. To conduct the benchmark, the testing tool used was the POKE-TOOL, a tool which supports the Potential-Uses criteria. The main causes for non-feasibility of paths in the benchmark's routlnes are presented. Models which assess the influence of several characteristics of programs on the number of infeasible paths and models to assess the relation between the number of predicates in paths and their feasibility are also presented. The benchmark pointed out the relevance of the Frankl's heuristic application (FRA87) for identification of infeasible paths; more over, has made possible the proposition of extension to this heuristic and of facilities to deal with such paths, which were incorporated into POKE-TOOL. The heuristics and main aspects of implementation of the proposed facilities are presented; an example of utilization and a prelimliary assessment of the effectiveness of the implementation are also shownMestradoMestre em Engenharia Elétric

    Analogias e diferenças entre reuniões mediúnicas espíritas e o atendimento em psicologia clínica

    No full text
    Mediumnic appointments are a common practice in diverse Brazilian religions, particularly the Kardecist Spiritism. In this context, the appointments have the goal of helping spirits, who speak through a medium during dialogs, similarly to a religious counseling. Spite of its space in the Brazilian culture, this religious practice has been few investigated in the psychological literature, and this fact is a motivation to the present work, which has as study subject the mediunic appointments and their interrelations with the clinical Psychology. From an observational register of a mediumnic appointment, its characterization was obtained to better understand its articulations with the human suffering and Psychology. As a result of this work it was observed that there are many similarities in the techniques adopted by the leader of these appointments and the clinical psychologist. In addition to this, the religious language is a privileged instrument for dialogue. To understand this language can help psychologist to deal properly with the mediumnic phenomenon during the therapeutic process.A prática de realizar reuniões mediúnicas é comum a diversas religiões no Brasil, mais particularmente no Espiritismo Kardecista. Nesse contexto, as reuniões têm como objetivo auxiliar espíritos que se comunicam por meio de médiuns através do diálogo, nos moldes de um aconselhamento religioso. Apesar de ter seu espaço na cultura brasileira, essa prática religiosa tem sido pouco investigada na literatura psicológica e isto serviu como motivação para o presente trabalho que tem como objeto de estudo as reuniões mediúnicas e suas inter-relações com a psicologia clínica. A partir do registro observacional de uma reunião mediúnica, buscou-se sua caracterização para compreender suas articulações com o sofrimento humano e a Psicologia. Como resultado observa-se que há muitas similaridades de técnicas adotadas pelo dirigente da reunião e o psicólogo clínico, e que a linguagem religiosa constitui um instrumento privilegiado de diálogo. Entender essa linguagem pode auxiliar os psicólogos a lidar adequadamente com o fenômeno da mediunidade durante o processo terapêutico.Reuniones mediumnicas son una practica muy común en diversas religiones en Brasil, mas específicamente en el Espiritismo Kardecista. En este contexto, las reuniones tienen como objetivo auxiliar espíritus que se comunican por medio de mediums a través de dialogo, similarmente a un aconsejamiento religioso. A pesar de tener su espacio en la cultura brasileña, esta practica religiosa ha sido poco investigada na literatura sicológica y esto sirvió como motivación para el presente trabajo que tiene como tema de estudio las reuniones mediumnicas y sus inter-relaciones con la psicología Clínica. A partir del registro observacional de una reunión mediumnica, se busco su caracterización para comprender sus articulaciones con el sufrimiento humano y con la psicología. Como resultado de este trabajo, se observo que existen muchas semejanzas de las técnicas adoptadas pelo dirigente de la reunión y el sicólogo clínico y que el lenguaje religioso es un privilegiado instrumento de dialogo. El entendimiento de esta lenguaje pode auxiliar los sicólogos a tratar adecuadamente con este fenómeno durante el proceso terapéutico
    corecore